1. Field of Art
The present invention generally relates to the field of event-based computer systems, and more specifically, to constructing and deploying complex event processing (CEP) applications and business activity monitoring (BAM) dashboards.
2. Description of the Related Art
Recently, the availability and amount of real-time information has significantly increased. This allows businesses to monitor events in real time and to automatically respond, with minimal latency, when certain events or conditions, such as threats or business opportunities, arise. However, conventional computer systems, such as database systems, are not designed for such real-time event monitoring, analysis and response. Although conventional sequential programming languages, such as C++ or Java™ allow construction of customized systems for event detection and response, constructing such an event-based system is time-intensive and the inherent sequential nature of such programming languages is not suitable for various types of real-time event monitoring, analysis and response.
Event-based computing systems allow real-time monitoring, analysis and response to various types of events. In event-based systems, incoming events are monitored for pre-defined patterns and defined actions are taken when a pattern is detected. Hence, these event-based systems support applications requiring proactive responses to patterns in changing data, such as real-time algorithmic trading, risk, compliance, telecommunications, digital battlefield applications, terrorist tracking, supply chain monitoring and logistics.
Additionally, business activity monitoring (BAM) techniques allow visualization of event patterns detected by an event-based computing system, providing real-time insights into an event flow. Business activity monitoring is any automatic monitoring of business-related events. Examples of BAM include: business activity management; the combination of business process management and historical analytics; automatically monitoring events associated with specific activities in an executing business process; monitoring business processes and generating alerts about pending and actual problems; managing aggregations, alerts and profiles to monitor relevant business metrics; real-time access to critical business performance indicators to improve the speed and effectiveness of business operations; or any software that aids in monitoring of business activities. For example, event-based computing using BAM techniques allow hedge funds to monitor trades, logistics operators to monitor locations and delays in a shipment, and surveillance personnel to detect fraudulent behavior at different devices.
However, there are no standard development tools and techniques for creating and deploying event-based BAM applications. Conventional development methods require use of a bespoke-based method, resulting in a long development cycle and a difficult to maintain system. As conventional development techniques rely on user entry of text data in a structured format, these techniques also cannot uniformly abstract multiple application or scenario types, distinguish between different input parameters and support streaming output parameters. Existing event-based BAM application construction techniques require initial development of the underlying event-based process or scenario, using a text-based event programming language having multiple syntax rules.